/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tk.eigh.ksvg.component.painting;

import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;

/**
 *
 * @author nt
 */
interface _RenderingProperties {

    /**
     * Value: auto | sRGB | linearRGB | inherit
     *<br/>
     * auto Indicates that the user agent can choose either the sRGB or
     * linearRGB spaces for color interpolation. This option indicates that the
     * author doesn't require that color interpolation occur in a particular
     * color space.
     *<br/>
     * sRGB Indicates that color interpolation should occur in the sRGB color
     * space.
     *<br/>
     * linearRGB Indicates that color interpolation should occur in the
     * linearized RGB color space as described above.
     *<br/>
     * The ‘color-interpolation’ property specifies the color space for gradient
     * interpolations, color animations and alpha compositing.
     *<br/>
     * Animatable: yes
     */
    @JSFProperty
    String getColorInterpolation();

    /**
     * Value: auto | sRGB | linearRGB | inherit
     *<br/>
     * auto Indicates that the user agent can choose either the sRGB or
     * linearRGB spaces for filter effects color operations. This option
     * indicates that the author doesn't require that color operations occur in
     * a particular color space.
     *<br/>
     * sRGB Indicates that filter effects color operations should occur in the
     * sRGB color space.
     *<br/>
     * linearRGB Indicates that filter effects color operations should occur in
     * the linearized RGB color space.
     *<br/>
     * The ‘color-interpolation-filters’ property specifies the color space for
     * imaging operations performed via filter effects.
     *<br/>
     * Animatable: yes
     */
    @JSFProperty
    String getColorInterpolationFilters();

    /**
     * Value: auto | optimizeSpeed | optimizeQuality | inherit
     *<br/>
     * auto Indicates that the user agent shall make appropriate tradeoffs to
     * balance speed and quality, but quality shall be given more importance
     * than speed.
     *<br/>
     * optimizeSpeed Indicates that the user agent shall emphasize rendering
     * speed over quality. For RGB display devices, this option will sometimes
     * cause the user agent to perform color interpolation and compositing in
     * the device RGB color space.
     *<br/>
     * optimizeQuality Indicates that the user agent shall emphasize quality
     * over rendering speed.
     *<br/>
     * Animatable: yes
     */
    @JSFProperty
    String getColorRendering();

    /**
     * Value: auto | optimizeSpeed | crispEdges | geometricPrecision | inherit
     *<br/>
     * auto Indicates that the user agent shall make appropriate tradeoffs to
     * balance speed, crisp edges and geometric precision, but with geometric
     * precision given more importance than speed and crisp edges.
     *<br/>
     * optimizeSpeed Indicates that the user agent shall emphasize rendering
     * speed over geometric precision and crisp edges. This option will
     * sometimes cause the user agent to turn off shape anti-aliasing.
     *<br/>
     * crispEdges Indicates that the user agent shall attempt to emphasize the
     * contrast between clean edges of artwork over rendering speed and
     * geometric precision. To achieve crisp edges, the user agent might turn
     * off anti-aliasing for all lines and curves or possibly just for straight
     * lines which are close to vertical or horizontal. Also, the user agent
     * might adjust line positions and line widths to align edges with device
     * pixels.
     *<br/>
     * geometricPrecision Indicates that the user agent shall emphasize
     * geometric precision over speed and crisp edges.
     *<br/>
     * Animatable: yes
     */
    @JSFProperty
    String getShapeRendering();

    /**
     * Value: auto | optimizeSpeed | optimizeLegibility | geometricPrecision |
     * inherit
     *<br/>
     * auto Indicates that the user agent shall make appropriate tradeoffs to
     * balance speed, legibility and geometric precision, but with legibility
     * given more importance than speed and geometric precision.
     *<br/>
     * optimizeSpeed Indicates that the user agent shall emphasize rendering
     * speed over legibility and geometric precision. This option will sometimes
     * cause the user agent to turn off text anti-aliasing.
     *<br/>
     * optimizeLegibility Indicates that the user agent shall emphasize
     * legibility over rendering speed and geometric precision. The user agent
     * will often choose whether to apply anti-aliasing techniques, built-in
     * font hinting or both to produce the most legible text.
     *<br/>
     * geometricPrecision Indicates that the user agent shall emphasize
     * geometric precision over legibility and rendering speed. This option will
     * usually cause the user agent to suspend the use of hinting so that glyph
     * outlines are drawn with comparable geometric precision to the rendering
     * of path data.
     *<br/>
     * Animatable: yes
     */
    @JSFProperty
    String getTextRendering();

    /**
     * Value: auto | optimizeSpeed | optimizeQuality | inherit
     *<br/>
     * auto Indicates that the user agent shall make appropriate tradeoffs to
     * balance speed and quality, but quality shall be given more importance
     * than speed. The user agent shall employ a resampling algorithm at least
     * as good as nearest neighbor resampling, but bilinear resampling is
     * strongly preferred. For Conforming High-Quality SVG Viewers, the user
     * agent shall employ a resampling algorithm at least as good as bilinear
     * resampling.
     *<br/>
     * optimizeQuality Indicates that the user agent shall emphasize quality
     * over rendering speed. The user agent shall employ a resampling algorithm
     * at least as good as bilinear resampling.
     *<br/>
     * optimizeSpeed Indicates that the user agent shall emphasize rendering
     * speed over quality. The user agent should use a resampling algorithm
     * which achieves the goal of fast rendering, with the requirement that the
     * resampling algorithm shall be at least as good as nearest neighbor
     * resampling. If performance goals can be achieved with higher quality
     * algorithms, then the user agent should use the higher quality algorithms
     * instead of nearest neighbor resampling.
     *<br/>
     * Animatable: yes
     */
    @JSFProperty
    String getImageRendering();
}
